import pandas as pd
import numpy as np
import os

# 直接从当前目录导入ActivityMonitor
from res import ActivityMonitor

def main():
    """
    解决问题1：统计分析志愿者的活动情况
    """
    print("开始处理问题1：统计分析志愿者的活动情况...")

    # 检查数据路径
    current_dir = os.path.dirname(os.path.abspath(__file__))
    parent_dir = os.path.dirname(current_dir)
    
    # 首先检查是否有附件1文件夹
    folder_path = os.path.join(parent_dir, "file", "附件1")
    if os.path.isdir(folder_path):
        print(f"找到附件1文件夹，将使用文件夹中的数据")
        data_path = folder_path
    else:
        # 尝试附件1.csv文件
        data_path = os.path.join(parent_dir, "file", "附件1.csv")
        if not os.path.exists(data_path):
            print(f"错误：找不到数据源")
            print(f"请确保以下路径之一存在:")
            print(f"1. {folder_path} (文件夹)")
            print(f"2. {data_path} (CSV文件)")
            return
        
    print(f"使用数据源: {data_path}")
        
    # 创建ActivityMonitor实例
    monitor = ActivityMonitor()
    
    # 统计活动情况
    output_file = os.path.join(parent_dir, "result_1.xlsx")
    result = monitor.analyze_volunteer_activity(input_path=data_path, output_file=output_file)
    
    if result is not None:
        print(f"统计结果预览（前5行）：")
        print(result.head().to_string(index=False))
        print(f"结果已保存至: {output_file}")
    else:
        print("统计分析失败")

if __name__ == "__main__":
    try:
        main()
    except Exception as e:
        print(f"程序运行出错: {e}")
        
    print("\n按回车键退出...")
    input() 